feat(web): unify touch resize interactions - #4839
Conversation
0b69766 to
53e8a8a
Compare
Consolidate pointer, touch, stylus, and keyboard resize behavior across sidebar, inline rail, terminal column, push panels, and comments. Centralize responsive input capability and breakpoint handling for web and Android. Signed-off-by: Bryan Li <bryan.li@gmail.com> Co-authored-by: omnigent <noreply@omnigent.ai>
Signed-off-by: Bryan Li <bryan.li@gmail.com> Co-authored-by: omnigent <noreply@omnigent.ai>
Signed-off-by: Bryan Li <bryan.li@gmail.com> Co-authored-by: omnigent <noreply@omnigent.ai>
53e8a8a to
f44a1ee
Compare
|
@btli Thanks for the PR! It doesn't reference an issue yet. We require an issue for every PR, so the work can be prioritized before it's reviewed. Add one to the description:
No issue exists for this yet? Open one first, then reference it. That's how we track what's worth doing, and it's usually quicker than it sounds. Note a reference has to point at an issue: naming another PR doesn't count. The only exceptions are changes with no user-visible behaviour: pure Refactor / chore, Docs, or Test / CI work. If that's genuinely what this is, check that box under Type of change. Anything that fixes a bug, adds a feature, or changes the UI needs an issue, even when it also touches docs or tests. See CONTRIBUTING.md for the full policy. No action is taken beyond this comment. |
Signed-off-by: Bryan Li <bryan.li@gmail.com> Co-authored-by: omnigent <noreply@omnigent.ai>
Signed-off-by: Bryan Li <bryan.li@gmail.com> Co-authored-by: omnigent <noreply@omnigent.ai>
Signed-off-by: Bryan Li <bryan.li@gmail.com> Co-authored-by: omnigent <noreply@omnigent.ai>
17f71a3 to
f5dea90
Compare
Related issue
Part of #4790 — consolidates draft PRs #4780, #4781, #4782, #4784, #4785, and #4786.
Summary
This draft replaces the six touch-interaction drafts with one current-main implementation. It unifies pointer capture, cancellation, persistence, accessible separators, and carefully bounded hit gutters across the sidebar, inline workspace rail, terminal-list column, push panels, and comments panel. It also centralizes viewport and input-capability detection for web and Android.
ELI5: the thin dividers between app panes now have a larger invisible grab area, so a finger or stylus can resize them without covering nearby buttons or scrollbars.
Supersedes (but does not close): #4780, #4781, #4782, #4784, #4785, #4786.
Test Plan
bun --bun run test -- <17 touched Vitest files>— 626 passed, 1 expected failure.uv run --group test pytest -q <5 touched e2e_ui files>— 5 passed.OmnigentWebViewClientTest— 20 passed.bun --bun run lint,bun --bun run type-check, andbun --bun run build— passed.uv run pre-commit run --all-files— all applicable hooks passed; the current upstreamuv.locknormalizer baseline was excluded because it rewrites an unrelated lockfile.origin/mainproduction tree, then passed with this implementation restored.Demo
Android foldable/tablet touch-interactions video (Show taps enabled; touch dot visible)
The single recording covers folding/form-factor changes plus sidebar, inline rail, terminal-list column, push-panel, comments-panel, and adjacent-scroll seam behavior.
Type of change
Test coverage
Coverage notes
Manually verified the Android foldable/tablet recording with Developer Options “Show taps” enabled, including the visible touch dot and each resize/scroll seam represented by the six superseded drafts.
Changelog
Pane dividers are now easier and more reliable to resize with touch, stylus, mouse, or keyboard.